package com.igd.business.service;

import java.sql.SQLException;
import java.util.List;

import com.igd.exceptions.IgdException;
import com.igd.pojo.vo.PageList;
import com.igd.security.RoleResource;
import com.igd.security.Roles;

/**
 * @createDate 2013-7-22
 *
 * @author QIAOYU
 *
 * @version 1.0
 *
 * @description 角色信息服务类接口
 */

public interface IRoleService {
	
	/**
	 * 获取角色对应的资源信息,带分页查询
	 * 
	 * @param pageList
	 * 
	 * @return
	 * 
	 * @throws SQLException
	 * 
	 * @throws IgdException
	 */
	List<RoleResource> getRoleResource(PageList pageList) throws SQLException, IgdException;
	
	/**
	 * 获取平台所有的角色信息,带分页查询
	 * 
	 * @param pageList
	 * 
	 * @return List<Roles>
	 * 
	 * @throws SQLException
	 * 
	 * @throws IgdException
	 */
	List<Roles> getAllRole(PageList pageList) throws SQLException, IgdException;
	
	/**
	 * 根据角色编号获取角色信息
	 * 
	 * @param roleId
	 * 
	 * @return Roles
	 * 
	 * @throws SQLException
	 * 
	 * @throws IgdException
	 */
	Roles getRoleInfoByRoleId(String roleId) throws SQLException, IgdException;
	
	/**
	 * 根据角色编号删除角色信息
	 * 
	 * @param roleId
	 * 
	 * @throws SQLException
	 * 
	 * @throws IgdException
	 */
	void delRoleByRoleId(String roleId) throws SQLException, IgdException;
	
	/**
	 * 根据角色资源编号删除角色资源信息
	 * 
	 * @param roleResId
	 * 
	 * @throws SQLException
	 * 
	 * @throws IgdException
	 */
	void delRoleResourceByRoleResId(String roleResId) throws SQLException,IgdException;
	
	/**
	 * 根据角色编号修改角色信息
	 * 
	 * @param role
	 * 
	 * @throws SQLException
	 * 
	 * @throws IgdException
	 */
	void updRoleByRoleId(Roles role) throws SQLException, IgdException;
	
	/**
	 * 新增角色信息
	 * 
	 * @param role
	 * 
	 * @return
	 * 
	 * @throws SQLException
	 * 
	 * @throws IgdException
	 */
	Roles saveRole(Roles role) throws SQLException, IgdException;
	
	/**
	 * 批量新增角色资源信息
	 * 
	 * @param roleRes 角色资源信息
	 * 
	 * @return boolean
	 * 
	 * @throws IgdException 
	 */
	boolean batchSaveRoleResource(final List<RoleResource> roleRes) throws IgdException;
}
